home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / c / CLib-SDI.lha / CLib-SDI / ReadMe < prev   
Text File  |  2002-10-27  |  3KB  |  93 lines

  1. The Test.c tool can be compiled like any normal program. No special handling
  2. for different compilers needed.
  3.  
  4. SAS:
  5.   Call "smake" if you are in libsource directory to make the library.
  6.   "smake 020", "smake 030", "smake 040" and "smake 060" can be used to make
  7.   processor specific versions (which has no use for this example).
  8.   "smake ALL" produces all versions.
  9.  
  10. GCC:
  11.   Call make -f makefile.gcc in libsource directory. There is currently no
  12.   MorphOS support due to missing register specification in function header.
  13.  
  14. VBCC:
  15.   Get a make utility (from GNUC, SAS, ...) and call
  16.   make -f makefile.vbcc in libsource directory.
  17.  
  18. VBCC for MorphOS:
  19.   Get a make utility (from GNUC, SAS, ...) and call
  20.   make -f makefile.vbccMOS in libsource directory.
  21.  
  22. MaxonC (HiSoftC) 3.x:
  23.   Load makefile.Maxon, set following linker options: without startup code and
  24.   large data model. Add /include/C/ to include path.
  25.   Now make the library.
  26.  
  27. MaxonC 4.x:
  28.   Load project file, change include-paths and work directory (all made in
  29.   RAM:). Create library.
  30.  
  31. StormC:
  32.   a) Load project file, change include-paths and work directory (all made in
  33.      RAM:). Create library.
  34.  
  35.   b) Change include paths in makefile.Storm. call make -f makefile.storm.
  36.  
  37. Supported defines, you may set in your makefile or project:
  38.  
  39. BASE_GLOBAL:
  40. This must be set, if your compiler does not support calling library functions
  41. with local library bases (e.g. MaxonC++).
  42.  
  43. _M68020:
  44. If you compile for 68020 CPU. SAS-C sets this automatically.
  45.  
  46. _M68030:
  47. If you compile for 68030 CPU. SAS-C sets this automatically.
  48.  
  49. _M68040:
  50. If you compile for 68040 CPU. SAS-C sets this automatically.
  51.  
  52. _M68060:
  53. If you compile for 68060 CPU. SAS-C sets this automatically.
  54.  
  55. __MORPHOS__
  56. In case you do the MorphOS version.
  57.  
  58. Some words about the sources:
  59.  
  60. 1) The sources use 2 different library bases: "struct ExampleBaseP" for
  61. internal use and "struct ExampleBase" for external use. This allows to hide
  62. internal variable fields from users eyes. But always keep the ExampleBase
  63. equal to the public part of ExampleBaseP. They must match. The private parts
  64. may be changed whenever you want.
  65. general structure of ExampleBaseP:
  66. - public entries, always equal to ExecBase
  67. - place, where new public entries are added in future versions
  68. - the private entries (can be modified in every release)
  69.  
  70. 2) The library functions get an LIB prefix always. But whenever you call them
  71. in your own library you use normal name without prefix. This means the library
  72. interface is used an possible patches or workarounds will work for internal
  73. calls also.
  74.  
  75. 3) The included source use <proto/xxx.h> instead of any compiler specific
  76. call method. Proto-files for required libraries, which support nearly all
  77. used compilers are included in include2 directory. Install them, if necessary.
  78. All the include files can be generated using fd2pragma from
  79. Aminet/dev/misc/fd2pragma.lha.
  80.  
  81. 4) In LibInit.c the only functions, which may be modified are MakeGlobalLibs(),
  82. CloseLibraries() and the middle part of LibInit(). Normally there should be
  83. no cause to modify any other stuff there.
  84.  
  85. 5) Some compilers have problems with "struct UtilityBase * UtilityBase", as
  86. they define it as "struct Library *". Fix the related <proto/utility.h> file
  87. by taking files created with fd2pragma.
  88.  
  89. 6) Currently there is no gcc-MorphOS version of the library, as I found no
  90. easy way to implement this without to much compiler specifics and include
  91. patches. If there is an easy way, please tell me how to do.
  92.  
  93.